
package com.scalar.chiptrack.adaptor;

public final class FabSortLot
{
	private String m_vendorName         = null;
	private String m_lotId              = null;
	private String m_stage              = null;
	private String m_stagePosition      = null;
	private String m_poNumber           = null;
	private String m_custProduct        = null;
	private String m_wsQty              = null;
	private String m_grossDie           = null;
	private String m_inTime             = null;
	private String m_lotStatus          = null;
	private String m_forcastedDateOut   = null;
	private String m_outTime            = null;
	private String m_wsQtyOut           = null;
	private String m_shipYield          = null;
	private String m_dieSize            = null;
	private String m_avgGoodDie         = null;
	private String m_outLookDate        = null;
	private String m_dateCode           = null;
	private String m_vendorLot          = null;
	private String m_comments           = null;
	private boolean m_hold;
	private String m_partialshipQtyIn   = null;
	private String m_partialshipQtyOut  = null;
	private String partialShipDateOut   = null;
    private String psType               = null;
    private String waferID              = null;
    private String holdCode             = null;
    private String holdReason           = null;
    private String holdDate             = null;
    private String owner                = null;
    private String testerNo             = null;
    private String customerWO           = null;
    private String fabLotNumber         = null;
    private String lotCategory          = null;
    private String flow                 = null;
    private String testProgram          = null;
    private String fileDateIn           = null;
    private String fabId                = null;
    private String fabPartName          = null;
    private String processGen           = null;
    private String process              = null;
    private String wsQty                = null;
    private String soNumber             = null;
    private String priorty              = null;
    private String layerPosition        = null;
    private String layer                = null;
    private String ship_fcst_date       = null;
    private String ship_conf_date       = null;
    private String lotStartWQty         = null;
    private String pkgType              = null;
    private String leadCount            = null;
    private String binNumber            = null;
    private int totalprobeQtyIn         = 0;
    private int totalgoodDieQtyIn       = 0;
    private int rejectedQtyIn           = 0;
    private int probeQtyIn              = 0;
    private int goodDieQtyIn            = 0;
    private float totalYield            = 0.0f;
    private boolean shipInfoLot;

    public FabSortLot()
    {

    }
    public FabSortLot( String vendorName, String psType)
    {
       m_vendorName = vendorName;
       this.psType  = psType;
    }
	public FabSortLot (String vendorName,
						String custProduct,
						String lotId,
						String poNumber,
						String stage,
						String stagePosition,
						String wsQty,
						String inTime,
						String lotStatus,
						String grossDie,
						String forcastedDateOut) {

		m_vendorName = vendorName;
		m_custProduct = custProduct;
		m_stage = stage;
		m_wsQty = wsQty;
		m_inTime = inTime;
		m_lotStatus = lotStatus;
		m_grossDie = grossDie;
		m_stagePosition = stagePosition;
		m_forcastedDateOut = forcastedDateOut;

		if ((lotId == null) || (lotId.trim().length() == 0)) {
			lotId = null;
		}
		m_lotId = lotId;

		if ((poNumber == null) || (poNumber.trim().length() == 0)) {
			poNumber = null;
		}
		m_poNumber = poNumber;
	}

	public FabSortLot (String vendorName,
						String custProduct,
						String lotId,
						String poNumber,
						String stage,
						String stagePosition,
						String wsQty,
						String inTime,
						String lotStatus,
						String grossDie,
						String forcastedDateOut,
						String outLookDate ) {

		m_vendorName = vendorName;
		m_custProduct = custProduct;
		m_stage = stage;
		m_wsQty = wsQty;
		m_inTime = inTime;
		m_lotStatus = lotStatus;
		m_grossDie = grossDie;
		m_stagePosition = stagePosition;
		m_forcastedDateOut = forcastedDateOut;
		m_outLookDate      = outLookDate;

		if ((lotId == null) || (lotId.trim().length() == 0)) {
			lotId = null;
		}
		m_lotId = lotId;

		if ((poNumber == null) || (poNumber.trim().length() == 0)) {
			poNumber = null;
		}
		m_poNumber = poNumber;
		m_outLookDate =  outLookDate;

	}

	public String getVendorName() {
		return m_vendorName;
	}

	public void setVendorName (String vendorName) {
		m_vendorName = vendorName;
	}


	public String getCustProduct() {
		return m_custProduct;
	}

	public void setCustProduct (String custProduct) {
		m_custProduct = custProduct;
	}

	public String getLotId() {
		return m_lotId;
	}

	public void setLotId (String lotId) {
		m_lotId = lotId;
	}

	public String getStage() {
		return m_stage;
	}

	public void setStage (String stage) {
		m_stage = stage;
	}

	public String getStagePosition() {
		return m_stagePosition;
	}

	public void setStagePosition (String stagePosition) {
		m_stagePosition = stagePosition;
	}

	public String getPoNumber() {
		return m_poNumber;
	}

	public void setPoNumber (String poNumber) {
		m_poNumber = poNumber;
	}

	public String getQtyIn() {
		return m_wsQty;
	}

	public void setQtyIn (String wsQty) {
		m_wsQty = wsQty;
	}

	public String getGrossDie() {
		return m_grossDie;
	}

	public void setGrossDie (String grossDie) {
		m_grossDie = grossDie;
	}

	public String getDateIn() {
		return m_inTime;
	}

	public void setDateIn (String inTime) {
		m_inTime = inTime;
	}

	public String getLotStatus() {
		return m_lotStatus;
	}

	public void setLotStatus (String lotStatus) {
		m_lotStatus = lotStatus;
	}

	public String getForcastedDateOut() {
		return m_forcastedDateOut;
	}

	public void setForcastedDateOut (String forcastedDateOut) {
		m_forcastedDateOut = forcastedDateOut;
	}

	public void setDateOut(String outTime)
	{
		m_outTime = outTime;
	}
	public String getDateOut()
	{
		return m_outTime;
	}
	public void setQtyOut (String wsQtyOut)
	{
		m_wsQtyOut = wsQtyOut;
	}
	public String getQtyOut()
	{
		return m_wsQtyOut;
	}
	public void setShipYield ( String shipYield ){
		m_shipYield = shipYield;
	}
	public String getShipYield ( )
    {
		return m_shipYield;
	}


	public String getDieSize()
	{
		return m_dieSize;
	}

	public void setDieSize(String dieSize)
	{
		this.m_dieSize = dieSize;
	}

	public String getAvgGoodDie()
	{
		return m_avgGoodDie;
	}

	public void setAvgGoodDie(String avgGoodDie)
	{
		this.m_avgGoodDie = avgGoodDie;
	}

	public void setOutLookDate ( String outLookDate ) {
		this.m_outLookDate = outLookDate;
	}

	public String getOutLookDate ( ) {
		return this.m_outLookDate;
	}

	public void setDateCode ( String dateCode ) {
		this.m_dateCode = dateCode;
	}

	public String getDateCode ( ) {
		return this.m_dateCode;
	}
	 public void setVendorLot ( String vendorLot ) {
		this.m_vendorLot = vendorLot;
	}

	public String getVendorLot ( ) {
		return this.m_vendorLot;
	}
	 public void setComments ( String comments ) {
		this.m_comments = comments;
	}

	public String getComments ( ) {
		return this.m_comments;
	}

	public boolean isHold()
	{
		return m_hold;
	}

	public void setHold( boolean hold )
	{
		this.m_hold = hold;
	}

	public String getPartialshipQtyOut()
	{
		return m_partialshipQtyOut;
	}

	public void setPartialshipQtyOut( String m_partialshipQtyOut )
	{
		this.m_partialshipQtyOut = m_partialshipQtyOut;
	}

	public String getPartialshipQtyIn()
	{
		return m_partialshipQtyIn;
	}

	public void setPartialshipQtyIn( String m_partialshipQtyIn )
	{
		this.m_partialshipQtyIn = m_partialshipQtyIn;
	}

	public String getPartialShipDateOut()
	{
		return partialShipDateOut;
	}

	public void setPartialShipDateOut(String string)
	{
		partialShipDateOut = string;
	}

    public String getWaferID()
    {
        return waferID;
    }

    public void setWaferID( String waferID )
    {
        this.waferID = waferID;
    }

    public String getHoldCode() {
        return holdCode;
    }

    public void setHoldCode(String holdCode) {
        this.holdCode = holdCode;
    }

    public String getHoldReason() {
        return holdReason;
    }

    public void setHoldReason(String holdReason) {
        this.holdReason = holdReason;
    }

    public String getHoldDate() {
        return holdDate;
    }

    public void setHoldDate(String holdDate) {
        this.holdDate = holdDate;
    }

    public String getOwner() {
        return owner;
    }

    public void setOwner(String owner) {
        this.owner = owner;
    }

    public String getTesterNo() {
        return testerNo;
    }

    public void setTesterNo(String testerNo) {
        this.testerNo = testerNo;
    }

    public String getCustomerWO() {
        return customerWO;
    }

    public void setCustomerWO(String customerWO) {
        this.customerWO = customerWO;
    }

    public String getFabLotNumber() {
        return fabLotNumber;
    }

    public void setFabLotNumber(String fabLotNumber) {
        this.fabLotNumber = fabLotNumber;
    }

    public String getLotCategory() {
        return lotCategory;
    }

    public void setLotCategory(String lotCategory) {
        this.lotCategory = lotCategory;
    }

    public String getFlow() {
        return flow;
    }

    public void setFlow(String flow) {
        this.flow = flow;
    }

    public String getTestProgram() {
        return testProgram;
    }

    public void setTestProgram(String testProgram) {
        this.testProgram = testProgram;
    }

    public String getFileDateIn() {
        return fileDateIn;
    }

    public void setFileDateIn(String fileDateIn) {
        this.fileDateIn = fileDateIn;
    }

    public String getFabId() {
        return fabId;
    }

    public void setFabId(String fabId) {
        this.fabId = fabId;
    }

    public String getFabPartName() {
        return fabPartName;
    }

    public void setFabPartName(String fabPartName) {
        this.fabPartName = fabPartName;
    }

    public String getProcessGen() {
        return processGen;
    }

    public void setProcessGen(String processGen) {
        this.processGen = processGen;
    }

    public String getProcess() {
        return process;
    }

    public void setProcess(String process) {
        this.process = process;
    }

    public String getWsQty() {
        return wsQty;
    }

    public void setWsQty(String wsQty) {
        this.wsQty = wsQty;
    }

    public String getSoNumber() {
        return soNumber;
    }

    public void setSoNumber(String soNumber) {
        this.soNumber = soNumber;
    }

    public String getPriorty() {
        return priorty;
    }

    public void setPriorty(String priorty) {
        this.priorty = priorty;
    }

    public String getLayerPosition() {
        return layerPosition;
    }

    public void setLayerPosition(String layerPosition) {
        this.layerPosition = layerPosition;
    }

    public String getLayer() {
        return layer;
    }

    public void setLayer(String layer) {
        this.layer = layer;
    }

    public String getShip_fcst_date() {
        return ship_fcst_date;
    }

    public void setShip_fcst_date(String ship_fcst_date) {
        this.ship_fcst_date = ship_fcst_date;
    }

    public String getShip_conf_date() {
        return ship_conf_date;
    }

    public void setShip_conf_date(String ship_conf_date) {
        this.ship_conf_date = ship_conf_date;
    }


    public String getPsType() {
        return psType;
    }

    public void setPsType(String psType) {
        this.psType = psType;
    }


    public String getLotStartWQty() {
        return lotStartWQty;
    }

    public void setLotStartWQty(String lotStartWQty) {
        this.lotStartWQty = lotStartWQty;
    }

    public String getPkgType() {
        return pkgType;
    }

    public void setPkgType(String pkgType) {
        this.pkgType = pkgType;
    }

    public String getLeadCount() {
        return leadCount;
    }

    public void setLeadCount(String leadCount) {
        this.leadCount = leadCount;
    }

    public String getBinNumber() {
        return binNumber;
    }

    public void setBinNumber(String binNumber) {
        this.binNumber = binNumber;
    }

    public int getTotalgoodDieQtyIn() {
        return totalgoodDieQtyIn;
    }

    public void setTotalgoodDieQtyIn(int totalgoodDieQtyIn) {
        this.totalgoodDieQtyIn = totalgoodDieQtyIn;
    }

    public int getTotalprobeQtyIn() {
        return totalprobeQtyIn;
    }

    public void setTotalprobeQtyIn(int totalprobeQtyIn) {
        this.totalprobeQtyIn = totalprobeQtyIn;
    }

    public int getGoodDieQtyIn() {
        return goodDieQtyIn;
    }

    public void setGoodDieQtyIn(int goodDieQtyIn) {
        this.goodDieQtyIn = goodDieQtyIn;
    }

    public int getProbeQtyIn() {
        return probeQtyIn;
    }

    public void setProbeQtyIn(int probeQtyIn) {
        this.probeQtyIn = probeQtyIn;
    }

    public int getRejectedQtyIn() {
        return rejectedQtyIn;
    }

    public void setRejectedQtyIn(int rejectedQtyIn) {
        this.rejectedQtyIn = rejectedQtyIn;
    }

    public float getTotalYield() {
        return totalYield;
    }

    public void setTotalYield(float totalYield) {
        this.totalYield = totalYield;
    }


    public boolean isShipInfoLot() {
        return shipInfoLot;
    }

    public void setShipInfoLot(boolean shipInfoLot) {
        this.shipInfoLot = shipInfoLot;
    }

    /**
    * String representation of Fab/Sort Lot
    */
    public String toString()
    {
        StringBuffer buf = new StringBuffer();

        buf.append ("[ LotNo: ").append (m_lotId);
        buf.append ("] [ PartNo: ").append (m_custProduct);
        buf.append ("] [ fabLotNo: ").append (fabLotNumber);
        buf.append ("] [ Lot Status: ").append (m_lotStatus);
        buf.append ("] [ Quantity In: ").append (m_wsQty);
        buf.append ("] [ Customer PO: ").append (m_poNumber);
        buf.append ("] [ Date In: ").append (m_inTime);
        buf.append ("] [ Current Stage: ").append (m_stage);
        buf.append ("] [ Stage Position: ").append (m_stagePosition);
        buf.append ("] [ Forecasted Date Out: ").append (m_forcastedDateOut);
        buf.append ("] [ Vendor Name: ").append (m_vendorName);
        buf.append ("] [ Good Die Size: ").append(m_avgGoodDie );
        buf.append ("] [ Category: ").append(lotCategory);
        buf.append ("] [ Wafer Id: ").append( waferID ).append (" ]");

        return buf.toString();
    }


}